Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Robots can be utilized to perform a variety of tasks involving repetitive, automated movements and manipulations of physical objects. For example, robots are commonly employed to spray paint, weld, and/or assemble various devices and products. Additionally, for example, robots are often used in pick-and-place processes or, more generally, to pick up objects at a first location and set them down at a second location. To achieve such functionalities, robots may include a movable arm on which an end-effector is attached. The end-effector is a device designed to interact with an environment and may take a number of different forms depending on the type of task that is to be performed by the robot. For example, a robot designed to pick up, move, and set down objects may include a gripper having a plurality of gripper fingers that controllably open and close.
A robot typically has to be trained to enable the robot to perform a desired task. To do so, the robot can be provided with positional data that specifies locations for one or more components of the robot and procedure data that specifies movements between the specified locations and/or tasks to be performed at the locations. According to one training approach, an operator programs the robot using a graphical user interface or text-based commands; however, this approach can be complex and require a high level of operator skill.
According to another training approach, the robot is trained by the operator physically grabbing the robotic arm and manually maneuvering it along a desired path as the robot records such movements. To operate the end-effector at one or more points on the path, the operator utilizes a remote control device such as, for example, a computer or a teaching pendant. The remote control device is separate and remotely located relative to the robot device. The remote control device generally includes buttons, joysticks, levers, a touchscreen, etc. that allow the operator to actuate the end-effector. For example, an operator can teach a robot to pick up an object by first manually moving the arm into alignment with the object, then using a remote control device to actuate a gripper attached to the robotic arm to close around the object, and then manually moving the robot with the object in its grip. There can also be buttons on the arm at places other than the gripper, which are used to open/close the gripper. However, these buttons are commonly binary on/off buttons.